DCOM95 gËre la communication COM distribuÈe pour Microsoft(r) Windows(r) 95.Le protocole de ligne DCOM offre de maniËre transparente, une communication fiable, sÈcurisÈe et efficace entre composants COM (Component Object Model) tels que les commandes et les scripts ActiveX(r), ainsi que les mini-applications Java situÈes sur diffÈrentes machines d'un rÈseau local (LAN), d'un rÈseau Ètendu ou sur Internet. Avec DCOM, vos applications peuvent Ítre distribuÈes en plusieurs emplacements de maniËre logique du point de vue du client et de l'application.
Pour des informations plus dÈtaillÈes, voir les gÈnÈralitÈs techniques sur DCOM, disponibles ‡ la page http://www.microsoft.com/com/.
Sommaire
========
I. Nouvelles fonctionnalitÈs
II. Corrections de bogues
III. ProblËmes connus
IV. DiffÈrences avec DCOM sous Windows NT
V. Redistribution
VI. Assistance & ressources
VII. Liste des fichiers
I. Nouvelles fonctionnalitÈs
---------------
Remplacement de DCOM95 par une ancienne version non-autorisÈ
Avec les versions prÈcÈdentes de DCOM95, vous pouviez remplacer une version plus rÈcente de DCOM95 part une version plus ancienne. Le numÈro de version Ètant ‡ prÈsent vÈrifiÈ au moment de l'installation vous ne pouvez plus le faire. Cette modification permet d'Èviter les problËmes dus ‡ des versions de DLL incompatibles.
Support pour la surveillance de processus de Visual Studio 6.0
Concernant le support de Visual Studio 6.0, DCOM95 offre des informations de surveillance qui permettent aux dÈveloppeurs de mieux comprendre le comportement, les
performances et la structure de leur application. Si vous utilisez Visual Studio Analyzer sur un ordinateur sous Windows 95, vous devriez toujours utiliser cette version de DCOM95.
Nouveau rÈpertoire crÈÈ par le programme d'installation
Le programme d'installation crÈe un rÈpertoire appelÈ DCOM95 sous votre rÈpertoire systËme. Le contrat de licence d'utilisateur final et autres fichiers y sont enregistrÈs. Le programme d'installation crÈe Ègalement un sous-rÈpertoire dans le rÈpertoire DCOM95 appelÈ
OLDOLE, dans lequel les anciens fichiers DCOM95 et OLE sont sauvegardÈs. Ces fichiers sont restaurÈs si, plus tard, vous dÈsinstallÈ DCOM95.
CIS (COM Internet Services)
Le CIS permet aux clients et aux serveurs de se connecter via
Internet. CIS comprend
* Un nouveau protocole : Tunneled TCP
* Un nouveau nom : OBJREF
* Un nouvel utilitaire : CISCNFG
Pour support de client CIS sous Windows 95, vous devez installer DCOM95
et DCOMCFG. Puis utiliser l'outil CISCNFG, qui est installÈ au moment ou vous installez l'utilitaire de configuration de DCOM, pour changer la clÈ de registre qui dÈfinit le protocole utilisÈ pour les processus ‡ distance, dans la fenÍtre DOS, tapez :
ciscnfg <protocol>
O˘ <protocol> sera :
* rpc pour utiliser RPC
* http pour utiliser HTTP
* tcp_http pour essayer TCP, puis si le dÈlai de connexion du serveur expire, essayer HTTP.
La commande ciscnfg sans argument fournit des informations d'utilisation.
Aucune mise ‡ jour de SDK n'est requise pour utiliser le protocole Tunneled TCP.
Il existe quelques mises ‡ jour de noms OBJREF.
CreateObjrefMoniker
CrÈe un nom OBJREF basÈ sur un pointeur ‡ un objet.
WINOLEAPI CreateObjrefMoniker(
LPUNKNOWN pUnk, //Pointeur vers l'objet
LPMONIKER *ppMk //Adresse du pointeur au nom OBJREF
);
ParamËtres
pUnk
Pointeur vers l'interface IUnknown sur l'objet que le nom doit reprÈsenter.
ppMk
Adresse d'un pointeur vers l'interface IMoniker sur le nom OBJREF
crÈÈ.
Valeurs de retour
Cette fonction gËre les valeurs de retour standards
E_OUTOFMEMORY et E_UNEXPECTED, ainsi que les suivantes :
S_OK
Le nom OBJREF a ÈtÈ crÈÈ avec succËs.
Remarques
Les clients utilisent des noms OBJREF afin d'obtenir un pointeur en ordre, vers un objet en cours d'exÈcution dans l'espace adresse du serveur.
GÈnÈralement, le serveur appelle CreateObjrefMoniker pour crÈer un nom
OBJREF, puis appelle IMoniker::GetDisplayName, puis diffuse le nom. ¿ l'Ècran, un nom OBJREF se prÈsente sous la forme :
OBJREF:nnnnnnnn
O˘ nnnnnnnn est un codage base 64 qui contient l'emplacement de la machine, le point final du processus et le IPID (interface pointer ID) de l'objet en cours d'exÈcution.
Le nom ‡ l'Ècran peut alors Ítre transmis au client sous forme de texte. Par exemple, le nom ‡ l'Ècran peut se situer sur une page HTML tÈlÈchargÈe par le client.
Le client peut passer le nom ‡ l'Ècran ‡ MkParseDisplayName,
qui crÈe un nom OBJREF en se basant sur le nom ‡ l'Ècran. Un appel ‡ la mÈthode IMoniker::BindToObject du nom, crÈe ensuite un pointeur mis en ordre vers l'instance en cours d'exÈcution sur le serveur.
Par exemple, un composant COM situÈ cÙtÈ serveur contenu dans une page active du serveur peut crÈer un nom OBJREF, obtenir son nom ‡ l'Ècran, l'Ècrire dans la page HTML envoyÈe ‡ l'explorateur du client. Un script exÈcutÈ cÙtÈ client peut utiliser le nom ‡ l'Ècran pour accÈder ‡ l'objet en cours d'exÈcution. Un script Visual Basic cÙtÈ client, peut par exemple enregistrer le nom ‡ l'Ècran dans une variable appelÈe strMyName et inclure la ligne :
objMyInstance = GetObject(strMyName)
Le moteur de script fait appel ‡ MkParseDisplayName et IMoniker::BindToObject, le script peut alors utiliser objMyInstance pour se rÈfÈrer directement ‡ l'objet en cours d'exÈcution.
Si l'objet en cours d'exÈcution utilise des IPID statiques et que le processus serveur s'exÈcute toujours sur le mÍme ordinateur situÈ ‡ un point final connu, le nom ‡ l'Ècran du nom OBJREF sera toujours le mÍme. Dans ce cas, le serveur peut enregistrer le nom ‡ l'Ècran au lieu de le calculer ‡ chaque fois qu'il reÁoit une requÍte pour l'objet.
ImplÈmentation de IMoniker - OBJREF Moniker
Les noms OBJREF reprÈsentent une rÈfÈrence ‡ un objet en cours d'exÈcution sur un serveur hors processus, localement ou ‡ distance.
Le nom identifie l'objet et l'ordinateur sur lequel il s'exÈcute.
Un nom OBJREF ressemble sur plusieurs points ‡ un nom de pointeur, exceptÈ que l'objet en cours d'exÈcution se trouve hors processus. Un client peut appeler IMoniker::BindToObject sur un nom OBJREF, puis utiliser le pointeur obtenu pour accÈder ‡ l'objet en cours d'exÈcution, quelque soit son emplacement.
Une diffÈrence importante comparÈ ‡ un nom de pointeur : le nom ‡ l'Ècran d'un nom OBJREF peut Ítre incorporÈ dans une page HTML et l'objet en cours d'exÈcution reprÈsentÈ par le nom peut Ítre liÈ ‡ un script, ‡ une mini-application ou ‡ une commande ActiveX clients.
Quand utiliser un nom OBJREF
L'utilisation premiËre d'un nom OBJREF est l'accËs ‡ un objet en cours d'exÈcution via Internet. Une page serveur active ou autre moyen de gÈnÈrer un contenu HTML dynamique, place le nom ‡ l'Ècran d'un nom OBJREF dans un paramËtre destinÈ ‡ une mini-application ou ‡ une commande ActiveX. Le code de la mini-application ou de la commande appelle CreateObjrefMoniker pour crÈer un nom OBJREF basÈ sur le nom ‡ l'Ècran, puis appelle IMoniker::BindToObject sur le nom OBJREF obtenu pour accÈder ‡ l'objet en cours d'exÈcution. La page serveur active met alors en ordre, pour le client de la page, un pointeur vers l'objet en cours d'exÈcution.
Remarques
IMoniker::BindToObject. Pour des noms OBJREF, le paramËtre pmkToLeft
doit Ítre NULL. Le nom OBJREF reprÈsentant un objet en cours d'exÈcution, aucune activation n'a lieu. Si l'objet reprÈsentÈ n'est plus en cours d'exÈcution, BindToObject Èchoue avec l'erreur E_UNEXPECTED.
IMoniker::BindToStorage. Cette mÈthode permet d'obtenir un pointeur en ordre vers l'interface requise du lieu de stockage de l'objet en cours d'exÈcution. Le nom OBJREF reprÈsentant un objet en cours d'exÈcution, aucune activation n'a lieu. Si l'objet reprÈsentÈ n'est plus en cours d'exÈcution, BindToStorage Èchoue avec l'erreur E_UNEXPECTED.
IMoniker::Reduce. Cette mÈthode renvoie MK_S_REDUCED_TO_SELF puis le retransmet au mÍme nom.
IMoniker::ComposeWith. Si pmkRight est un anti-nom, le nom retournÈ est NULL. Si pmkRight est un composÈ dont le composant le plus ‡ gauche est un anti-nom, le nom retournÈ est le composÈ sans l'anti-nom. Si pmkRight n'est ni un anti-nom, ni un nom composÈ dont le composant le plus ‡ gauche est un anti-nom, la mÈthode vÈrifie le paramËtre fOnlyIfNotGeneric. Si ce paramËtre est FALSE, la mÈthode combine les deux noms ; si ce paramËtre est TRUE, la mÈthode dÈfinit *ppmkComposite sur NULL et retourne MK_E_NEEDGENERIC.
IMoniker::Enum. Cette mÈthode renvoie S_OK et dÈfinit ppenumMoniker sur NULL.
IMoniker::IsEqual. Cette mÈthode renvoie S_OK si *pmkOther est un nom OBJREF et si les chemins d'accËs aux deux noms sont identiques (en utilisant une comparaison sans distinction de casse). Autrement, la mÈthode renvoie S_FALSE.
IMoniker::Hash. Cette mÈthode calcule une valeur de hash code pour le nom.
IMoniker::IsRunning. Les noms OBJREF reprÈsentant un objet en cours d'exÈcution, cette mÈthode renvoie TRUE sauf s'il est connu, du fait de l'Èchec d'un appel rÈcent, que l'objet n'est plus en cours d'exÈcution.
Cette mÈthode ignore pmkToLeft.
IMoniker::GetTimeOfLastChange. Cette mÈthode renvoie E_NOTIMPL.
IMoniker::Inverse. Cette mÈthode renvoie un anti-nom (c'est ‡ dire, le rÈsultat de l'appel ‡ CreateAntiMoniker).
IMoniker::CommonPrefixWith. Si les deux noms sont identiques, cette
mÈthode renvoie MK_S_US et dÈfinit *ppmkPrefix sur NULL. Si l'autre nom n'est pas un nom OBJREF, cette mÈthode transmet les deux noms ‡ la fonction MonikerCommonPrefixWith. Cette fonction gËre correctement le cas o˘ l'autre nom est un nom composÈ gÈnÈrique.
S'il n'y a pas de prÈfixe commun, cette mÈthode renvoie MK_E_.
IMoniker::RelativePathTo. Cette mÈthode renvoie E_NOTIMPL.
IMoniker::GetDisplayName. Cette mÈthode permet d'obtenir le nom ‡ l'Ècran du nom OBJREF. Le nom ‡ l'Ècran consiste en un code sur 64 bits qui contient l'emplacement de la machine, le point final du processus et le IPID (interface pointer ID) de l'objet en cours d'exÈcution. Pour compatibilitÈ future, le nom ‡ l'Ècran est limitÈ aux caractËres qui peuvent Ítre spÈcifiÈs pour une URL.
IMoniker::ParseDisplayName. Si pmkToLeft n'est pas NULL, cette mÈthode renvoie MK_E_SYNTAX.
IMoniker::IsSystemMoniker. Cette mÈthode renvoie S_OK et retransmet MKSYS_OBJREFMONIKER.
Support des types de donnÈes VB6.0
Visual Basic(r) 6.0 permet ‡ des variantes Visual Basic de contenir des structures de donnÈes dÈfinies par l'utilisateur. ¿ prÈsent, DCOM95 supporte le traitement ‡ distance de ces variantes.
II. Corrections de bogues
-------------
Condition de course en cours de dÈchargement de plusieurs modules
Lors du dÈchargement simultanÈ de plusieurs modules, une condition de course se produisait avec les versions prÈcÈdentes de DCOM95. Selon l'ordre dans lequel les modules Ètaient dÈchargÈs, une violation d'accËs pouvait se produire. Ceci a ÈtÈ corrigÈ dans cette version de DCOM95.
Ordinateur restant sans rÈponse en cours de nÈgociations du protocole RPC
Les versions prÈcÈdentes de DCOM95 ne distribuaient pas de messages en cours de nÈgociations du protocole RPC. Dans certains cas, si l'utilisateur lanÁait une autre application pendant que les protocoles RPC se nÈgociaient, l'ordinateur semblait rester sans rÈponse. Au bout de 30 secondes, le traitement des messages reprenait. Ce comportement a ÈtÈ modifiÈ dans la derniËre version de DCOM95 et des applications peuvent Ítre lancÈes en cours de nÈgociation de protocoles RPC.
Ordinateur restant sans rÈponse en cours de lancement d'une nouvelle application
RPC crÈe un fenÍtre cachÈe dans le MTA (Multiple-Threaded Apartment),
ce qui, selon les spÈcifications DCOM, n'est pas requis pour la distribution des messages. Lorsqu'un utilisateur lance une nouvelle application ‡ partir de son ordinateur, Windows en avertit tous les autres handles de fenÍtres et s'attend ‡ une rÈponse. Sous de prÈcÈdentes versions de DCOM95, la fenÍtre cachÈe RPC pouvait ne pas rÈpondre et Windows se bloquer. Cette version de DCOM95 corrige ce problËme.
Corruption du tas par de multiples adresses IP
Dans certaines situations, si vous exÈcutiez une prÈcÈdente version de DCOM95 sur une machine avec plusieurs adresses IP, le tampon d'adresses IP saturait et le tas s'endommageait. Ceci a ÈtÈ corrigÈ dans la derniËre version de DCOM95.
Uniquement la premiËre adresse IP utilisÈe
Si vous exÈcutiez une prÈcÈdente version de DCOM95 sur une machine ÈquipÈe de deux cartes rÈseau (et donc deux adresses IP, une pour chaque carte), DCOM95 n'utilisait qu'une seule carte rÈseau. Dans cette version de DCOM95, si la premiËre essayÈe ne fonctionne pas, la deuxiËme est utilisÈe.
¿ prÈsent, RPC essaye plusieurs adresses IP
Lors d'une procÈdure d'appel distant vers une machine possÈdant plusieurs adresses, si la connexion ‡ la premiËre adresse Èchoue, les autres adresses sont essayÈes.
Les noms de fichiers supportent une syntaxe de chemin d'accËs supplÈmentaire
¿ prÈsent, les noms de fichiers peuvent Ítre crÈÈs ‡ partir d'arguments de la forme <rÈpertoiredÈpart><accËsrelatif>, tels que " C:\bug\bug\..\..\foo.jpg ". Dans DCOM95 version 1.1, seuls les chemins relatifs (" ..\..\foo.jpg ") ou absolus (" C:\foo.jpg ") Ètaient autorisÈs.
Erreur de protection gÈnÈrale en cours de dÈchargement d'Oleaut32.dll
Dans les versions prÈcÈdentes de DCOM95, une erreur de protection gÈnÈrale se produisait lorsque Oleaut32.dll Ètait dÈchargÈ avant appel ‡ CoUninitialize. Ceci se produisait surtout lorsque qu'une application VB crÈait une commande statiquement liÈe ‡ Oleaut32.dll, puis la libÈrait avant d'appeler CoUninitialize. Ceci est corrigÈ avec la derniËre version de DCOM95.
Mises en ordre et en dÈsordre de type Visual Basic
Les mises en ordre et en dÈsordre de certains types de donnÈes Visual Basic ont ÈtÈ corrigÈes. Les paramËtres de tableaux d'une taille supÈrieure ‡ 64 Ko sont ‡ prÈsent autorisÈs. Les structures dÈfinies en utilisant des alias du type sont ‡ prÈsent correctement mises en ordre et en dÈsordre.
Atomes trop souvent supprimÈs dans OleUninitialize
Ce bogue apparaissait dans des applications qui appelaient OleInitialize et OleUninitialize plusieurs fois. En cours d'initialisation, OLE ajoute plusieurs atomes pour DDE RPC. Ceux-ci ne sont pas ‡ nouveau ajoutÈs s'ils l'ont dÈj‡ ÈtÈ par un autre thread. Cependant, au cours d'une non-initialisation, des atomes Ètaient toujours supprimÈs et les handles n'Ètaient pas annulÈs. En consÈquence, ‡ l'appel suivant ‡ OleInitialize, les anciens handles existaient toujours, mÍme si les atomes Ètaient dÈj‡ supprimÈs et OLE ne les rajoutait pas. Ceci entraÓnait l'invaliditÈ de tous les atomes OLE aprËs plusieurs appels ‡ OleInitialize et ‡ OleUninitialize. Ce problËme a ÈtÈ corrigÈ dans cette version de DCOM95.
Les serveurs ADO se ferment correctement
Les ADO (Active Data Objects) utilisent des noms de pointeurs pour le dÈmarrage d'un processus serveur. Les versions prÈcÈdentes de DCOM95 contenait un bogue concernant le comptage rÈfÈrence du nom de pointeur, par lequel les noms de pointeurs Ètaient crÈÈs ‡ partir d'un comptage rÈfÈrence de 1 au lieu de 0. En consÈquence, le comptage rÈfÈrence n'atteignait jamais zÈro et le nom de pointeur n'Ètait jamais libÈrÈ, entraÓnant la non-fermeture des serveurs ADO mÍme aprËs libÈration du dernier pointeur vers ces serveurs. Ceci a ÈtÈ corrigÈ dans cette version de DCOM95.
CoCreateInstance fonctionne avec son propre nom DNS
Dans les versions prÈcÈdentes de DCOM95, l'appel ‡ CoCreateInstance avec le nom complet de la machine locale ne fonctionnait pas. Ceci a ÈtÈ corrigÈ dans la version courante de DCOM95.
Lent engagement sur le stockage racine avec un trËs grand fichier composÈ
Dans les versions prÈcÈdentes de DCOM95, le temps d'engagement sur un stockage racine ouvert en mode STGM_TRANSACTED devenait trËs lent au fur et ‡ mesure que le fichier composÈ devenait trËs grand (par exemple 400 Mo). Les limites de la page de table interne ont ÈtÈ augmentÈes et le problËme ne se produit plus.
Exportation d'objets ‡ partir d'un MTA recrÈÈ
Dans les versions prÈcÈdentes de DCOM95, un serveur ne pouvait pas exporter un objet ‡ partir d'un MTA (Multi-Threaded Apartment) s'il n'Ètait pas crÈÈ pour la premiËre fois dans le processus. Ceci a ÈtÈ corrigÈ. ¿ prÈsent, si un serveur crÈe un MTA, le supprime, puis le recrÈe, les objets peuvent Ítre exportÈs ‡ partir du MTA.
Instances multiples d'exÈcutables Visual Basic 4
Dans DCOM95 v1.1, si vous dÈmarriez plusieurs instances du mÍme exÈcutable Visual Basic 4, puis les fermiez dans un ordre quelconque mais DEPS (dernier entrÈ premier sorti), le dernier exÈcutable se bloquait. Ceci s'appliquait Ègalement aux E-Forms dans Microsoft Exchange. Ceci a ÈtÈ corrigÈ dans la derniËre version de DCOM95. Vous pouvez ‡ prÈsent fermer les exÈcutables Visual Basic 4 dans n'importe quel ordre.
CaractËres Ètendus dans les noms de fichiers Visual Basic
Si vous nommiez un module ou une classe Visual Basic en utilisant les caractËres Ètendus d'une langue donnÈe, ce fichier pouvait ne pas s'ouvrir sur les machines configurÈes avec des paramËtres rÈgionaux diffÈrents. Ceci a ÈtÈ corrigÈ.
III. ProblËmes connus
-----------------
Corel WordPerfect Suite 7 : L'installation entraÓne une erreur page invalide
Si vous installez Corel WordPerfect Suite 7 sur un systËme Windows 95 exÈcutant DCOM95, en cours d'installation, vous pouvez obtenir une erreur page invalide dans PfOd70.pfc. Si tel est le cas, fermez la boÓte de dialogue du message d'erreur. L'installation devrait se poursuivre correctement.
Microsoft Access95 : La duplication de base de donnÈes ne fonctionne pas
Si vous essayez de dupliquer une base de donnÈes Access ‡ l'aide de Microsoft Access 95 sur des machines ÈquipÈes de DCOM95, vous pouvez obtenir le message d'erreur suivant :
Microsoft Access ne peut terminer cette opÈration parce qu'il ne peut pas trouver ou initialiser la bibliothËque de liaison dynamique Msjtrclr.
Ce problËme est d˚ ‡ Microsoft Access 95. Vous pouvez contourner ce problËme en Ècrivant un programme qui utilise le modËle d'objet Access au lieu de l'outil duplication, ou en utilisant le porte-documents pour duplication.
Microsoft Access 97 n'est pas affectÈ par ce problËme.
WordPerfect
Si vous possÈdez un document WordPerfect contenant une feuille de calcul incorporÈe contenant lui-mÍme un autre objet incorporÈ (un bitmap par exemple), vous pouvez obtenir une boÓte de dialogue vous avertissant que vous avez perdu la connexion au rÈseau lors de la fermeture de l'objet le plus profond. Il peut se produire quatre ou cinq avertissements. Ils sont tous bÈnins. Fermez-les et continuez.
Clients MAT (Multiple-threaded apartment) utilisant BSTR
Les routines de conversion peuvent bloquer les messages DDE
Automatisation des routines de conversion BSTR (par exemple, BstrFromR4)
crÈe des fenÍtres cachÈes pour faciliter la conversion de type. Ces fenÍtres ne servent pas la file d'attente de messages Windows. Si une telle fenÍtre est crÈÈe ‡ partir d'un client MTA, les messages DDE peuvent Ítre bloquÈs. Selon le modËle de programmation MTE, le thread client n'a pas ‡ servir la file d'attente des messages. S'il ne le fait pas, cette fenÍtre de niveau supÈrieur provoque le blocage des messages de diffusion globale.
Il existe deux maniËres de contourner ce problËme. Soit en appelant les routines de conversion BSTR ‡ partir d'un client STA (Single-Threaded Apartment), soit en faisant en sorte que le thread MTA du client se comporte comme un thread STA. (Un thread STA doit servir la file d'attente des messages.). Si le thread se bloque sur un handle win32, il doit appeler la fonction MsgWaitForMultipleObjects afin de distribuer simultanÈment les messages Windows.
Les noms de chemins d'accËs DLL de plus de 127 caractËres provoquent une erreur
Si vous enregistrez une DLL sous un chemin d'accËs de 128 caractËres ou plus, l'enregistrement se fera, mais CoCreateInstance ou CoGetClassObject renverront une erreur (REGDB_E_CLASSNOTREG) lors de l'accËs ‡ un objet gÈrÈ par cette DLL.
IV. DiffÈrences avec DCOM sous Windows NT
---------------------------------------
PossibilitÈs de DCOM95 au niveau sÈcuritÈ
La fonctionnalitÈ principale et l'interface de programmation d'applications (API))
pour DCOM95 sont identiques sous Windows 95 et sous Windows NT 4.0/5.0. Cependant, certaines possibilitÈs concernant la sÈcuritÈ sont diffÈrentes du fait des infrastructures de sÈcuritÈ des systËmes d'exploitation. L'utilisation des paramËtres de sÈcuritÈ par dÈfaut est recommandÈe; il est Ègalement requis d'activer la sÈcuritÈ " niveau-utilisateur " sur les partages des fichiers systËmes. (Voir ci-dessous.)
Les services suivants, pouvant Ítre utilisÈs pour Ècraser les paramËtres de sÈcuritÈ par dÈfaut, sont disponibles :
* CoInitializeSecurity
* CoQueryAuthenticationService
* CoQueryProxyBlanket
* CoSetProxyBlanket
* CoQueryClientBlanket
* IClientSecurity Interface
* IServerSecurity Interface
Cependant, certaines possibilitÈs de DCOM pour Windows NT ne seront pas disponibles sous Windows 95 du fait de diffÈrences dans l'infrastructure sÈcuritÈ de Windows 95.
En particulier, le manque de fonctions de sÈcuritÈ dans l'interface de programmation d'applications Win32, telles que la possibilitÈ de crÈer des listes de contrÙle d'accËs (ACL) et la fonction AccessCheck, de mÍme que le manque de sÈcuritÈ associÈe aux jetons de thread et de processus devront Ítre pris en compte. D'origine, Windows 95 ne gËre pas ces fonctions ou constructions. De ce fait, DCOM95 ne gËre pas les emprunts d'identitÈ (spÈcifiquement les fonctions d'assistance CoImpersonateClient et CoRevertToSelf via l'interface IServerSecurity), qui sont basÈs sur la sÈcuritÈ des jetons de processus et de thread sous Windows NT 4.0. L'emprunt d'identitÈ est couramment utilisÈ pour le contrÙle automatique d'accËs ‡ des ressources systËmes pouvant Ítre restreintes telles que le fichier systËme, autres processus et le rÈseau. Ces ressources ne peuvent Ítre restreintes sous Windows 95.
Cependant, DCOM95 offre aux programmeurs plusieurs objets d'assistance pour des fonctions ACL et de contrÙle d'accËs, qui peuvent Ítre utilisÈes pour contrÙler explicitement l'accËs des clients distants au systËme et aux donnÈes, ou aux ressources dÈfinies par l'utilisateur. Ces objets d'assistance sont fournis par l'objet systËme CLSID_DCOMAccessControl, qui implÈmente l'interface IAccessControl.
IAccessControl doit Ítre utilisÈ pour la gestion par programmation des autorisations de sÈcuritÈs dans les cas concernant la portabilitÈ entre Windows 95/98 et Windows NT. L'objet CLSID_DCOMAccessControl est disponible dans toutes les versions de DCOM95 et dans Windows NT 4.0 SP2 ou versions ultÈrieures. Pour des dÈtails sur IAccessControl, voir la documentation Platform SDK.
Lancement et accËs sÈcuritÈ
Le contrÙle du lancement de code serveur n'est pas gÈrÈ par DCOM95, le lancement de serveurs n'Ètant pas gÈrÈ.
Les serveurs/classes doivent fonctionner pour que les clients distants puissent se connecter et utiliser leurs services.
DCOM95 gËre la possibilitÈ de se connecter ‡ des classes/serveurs en fonctionnement. La sÈcuritÈ d'accËs est gÈrÈe via la clÈ de registre \APPID\{.}\AccessPermissions et allouÈe via l'utilitaire DCOMCNFG, ou au cours de l'installation du code serveur.
Les utilisateurs non-authentifiÈs peuvent utiliser les serveurs si vous configurez la classe de faÁon ‡ gÈrer les connexions non-authentifiÈes (via des utilitaires de configuration statique ou dynamiquement via la fonction CoInitializeSecurity). Vous pouvez Ègalement construire des ACLs arbitraire pour dÈfinir les utilisateurs et les groupes qui peuvent accÈder ‡ des services spÈcifiques.
Niveaux d'authentification
Les clients DCOM95 peuvent effectuer des appels DCOM en utilisant tout niveau d'authentification. Les serveurs ou les clients DCOM95 recevant des rappels ne peuvent accepter que des appels DCOM qui utilisent les niveaux d'authentification RPC_C_AUTHN_LEVEL_NONE ou RPC_C_AUTHN_LEVEL_CONNECT.
Transports
DCOM95 ne gËre que la connectivitÈ TCP. Si le protocole TCP/IP n'est pas installÈ, DCOM95 n'est pas capable de gÈrer la COM intermachine.
ParamÈtrage du registre
Les clÈs de registre suivantes, qui se trouvent sous HKEY_LOCAL_MACHINE\Software\Microsoft\OLE sont dÈfinies par DCOM95 :
EnableDCOM (par dÈfaut = " Y "). Active DCOM sur cette machine.
DÈfinie sur " N ", la machine n'est pas autorisÈe ‡ se connecter ou ‡ activer des objets sur une machine distante et les machines distantes ne peuvent se connecter ‡ des objets situÈs sur la machine locale. DÈfinir cette valeur sur " Y " permet de se connecter en tant que client ‡ des objets distants (lorsque EnableRemoteConnect='N', comme expliquÈ ci-dessous), ou complËte connectivitÈ client/serveur (lorsque EnableRemoteConnect='Y', comme expliquÈ ci-dessous).
EnableRemoteConnect (par dÈfaut = " N "). Permet aux serveurs COM de gÈrer les clients distants. Lorsque cette valeur est dÈfinie sur " Y ", les rÈfÈrences aux interfaces sur les objets locaux peuvent Ítre transmises aux clients distants et les clients distants peuvent se connecter aux objets en cours d'exÈcution. Lorsque cette valeur est dÈfinie sur " N ", cette machine peut se connecter aux objets distants mais ne peut se comporter comme un serveur : la machine n'est pas autorisÈe ‡ se connecter ‡ des objets en cours d'exÈcution.
De plus, la clÈ de registre suivante est situÈe sous HKEY_CLASSES_ROOT\CLSID :
Contient le numÈro de version de DCOM95 au format " a,b,c,d ".
Cette valeur peut Ítre utilisÈe par Internet Component Download pour dÈterminer si DCOM95 est installÈ. Cette valeur est ajoutÈe au registre au moment de l'installation et ne doit pas Ítre modifiÈe.
Utilisation de Windows 95 en tant que hÙte serveur distant
Windows 95 peut Ítre utilisÈ en tant que hÙte serveur distant en tenant compte des avertissements suivants :
* Il n'existe pas de possibilitÈs de lancement. Le processus serveur doit fonctionner pour qu'un client puisse s'y connecter .
* Si des connexions sÈcurisÈes sont requises, le serveur (et dans le cas de rappels,
le client) doit possÈder le contrÙle d'accËs au niveau utilisateur
avec le nom d'un ensemble fournisseur sÈcuritÈ.
* La valeur de registre " EnableRemoteConnect " doit Ítre dÈfinie sur " Y ".
DCOM95 a ÈtÈ plus intensÈment testÈ avec le fournisseur de sÈcuritÈ de domaine de Windows NT. Vous pourriez rencontrer des problËmes en utilisant d'autres fournisseurs de sÈcuritÈ.
Pour Ètablir le contrÙle d'accËs niveau utilisateur, vous devez installer Filesec.vxd. Ce fichier est habituellement installÈ sur les machines Windows 95 lorsque vous installez le partage de fichiers et d'imprimantes.
Pour activer le contrÙle d'accËs niveau utilisateur, ouvrez la boÓte de dialogue RÈseau dans le Panneau de configuration, cliquez sur l'onglet ContrÙle d'accËs, cochez la case marquÈe ContrÙle d'accËs niveau utilisateur, puis tapez le nom de votre domaine de sÈcuritÈ. Ceci peut affecter la maniËre dont vous partagez les rÈpertoires sur le rÈseau ‡ partir de votre ordinateur ; voir la documentation en ligne pour des dÈtails. Si vous n'avez pas d'onglet ContrÙle d'accËs dans votre Panneau de configuration du rÈseau, vous devez installer un service client rÈseau. Cliquez sur Clients rÈseau, puis saisissez une entrÈe dans la ligne d'index de l'aide pour plus d'informations sur l'installation d'un client rÈseau.
V. Redistribution
-----------------
Pour des informations sur la redistribution de DCOM95, consultez les rËgles de redistribution contenues dans le contrat de licence d'utilisateur final (license.txt).
VI. Assistance & ressources
-----------------------
Services de Support Technique de Microsoft
Pour satisfaire au mieux vos exigences en termes de support technique, nous mettons ‡ votre
disposition une gamme complËte de prestations d'assistance technique. Cette offre couvre les
besoins des utilisateurs individuels, dÈveloppeurs, petites et moyennes entreprises. Elle se
dÈcline en quatre niveaux de services.
Services d'Information
Les Services d'Information vous permettent un accËs rapide, facile et gratuit (ou ‡ trËs
faible co˚t - les frais tÈlÈphoniques Èventuels sont ‡ votre charge.), ‡ toute notre
information technique. Vous y trouverez par exemple la Liste des RÈponses rÈponses aux
questions techniques les plus courantes sur líutilisation de nos produits, la Base de
Connaissances Microsoft quotidiennement enrichie par nos IngÈnieurs, la BibliothËque
Logicielle Microsoft contenant de nombreux utilitaires, correctifs logiciels, mises ‡ jour...
Pour accÈder ‡ ces informations et davantage encore :
Vous pouvez vous connecter ‡ :
∑ notre site Internet World Wide Web (http://www.eu.microsoft.com/france/support/ ou
http://www.microsoft.com/canada), ou vous abonner ‡ líun de nos programmes díinformation
technique sur CD-ROM :
∑ MicrosoftÆ TechNet, disponible par abonnement annuel, s'adresse plus particuliËrement aux
utilisateurs de nos produits Bureautique et SystËmes AvancÈs. Pour plus d'informations,
contactez depuis la France, le 0 800 916 097, et depuis le Canada, le 1 800 344-2121
(service en anglais seulement).
∑ Microsoft Developer Network (MSDN), disponible par abonnement annuel, s'adresse aux
dÈveloppeurs. Pour plus d'informations, contactez depuis la France, le 0 800 909 129, et
depuis le Canada, le 1 800 759-5474.
Assistance Utilisateur
En France, Microsoft offre(*) aux utilisateurs venant d'acquÈrir l'un de ses produits, une
Assistance Utilisateur pendant toute la durÈe de vie du produit(**). Cette assistance couvre
l'ensemble des produits Microsoft (boÓtes) ‡ l'exception des logiciels pour Serveurs
(Windows NT Serveur, BackOffice, etc.). Elle est proposÈe dans la limite de 2 incidents
(opÈrations d'assistance), pendant toute la durÈe de vie du produit.
Le service Assistance Utilisateur est accessible, sans interruption, du lundi au vendredi
de 9h00 ‡ 19h00 et le samedi de 10h00 ‡ 18h00 au 01.69.86.10.20.
Pour savoir si votre produit est couvert par ce service, reportez-vous ‡ la liste des
produits pris en charge par l'Assistance Utilisateur en vous connectant ‡ notre site
Internet http://www.eu.microsoft.com/france/support/ ou en faisant la demande ‡ Microsoft
par tÈlÈphone, par fax ou par courrier.
(*) hors frais de communication.
(**) Jusqu'‡ 1 an aprËs l'arrÍt de commercialisation du produit.
Au Canada**, l'Assistance Standard du Support Technique technique Microsoft offre une
assistance illimitÈe gratuite pour tous problËmes d'utilisation, incluant les
fonctionnalitÈs des produits, les commandes des menus, la mise en forme, l'installation et
tous problËmes relatifs ‡ l'interface utilisateur sur les versions de dÈtail* des produits
Microsoft Home et des applications bureautiques.
L'Assistance Standard du Support Technique Microsoft est offerte du lundi au vendredi,
entre 8h et 20h HNE, ‡ l'exception des jours fÈriÈs.
Une assistance limitÈe gratuite est Ègalement disponible selon les modalitÈs suivantes :
- deux incidents gratuits relatifs au dÈveloppement de solutions et d'applications
personnalisÈes pour les applications Microsoft Office, pour des problËmes relatifs ‡
Microsoft Access et pour les versions commercialisÈes* de Visual Basic ou de Visual Fox
Pro. L'assistance de dÈveloppement se limite ‡ une aide sur les macros, sur la syntaxe,
et sur les principes de base tels que l'Ècriture d'une boucle dans une macro vide ou le
dÈbogage d'une petite quantitÈ de code.
- deux incidents gratuits pour toutes les versions actuelles de dÈtail des produits de
dÈveloppement de Microsoft,
- deux incidents gratuits pour Microsoft Windows NT Workstation,
- 90 jours d'assistance gratuite pour les versions commercialisÈes* des produits SystËmes
Personnels et matÈriel (Hardwaree), dÈbutant le jour de votre premier contact avec le
personnel d'assistance technique.sans frais pour les problËmes non liÈs ‡ la connectivitÈ
relatifs aux systËmes personnels.
* Si votre produit est prÈ-installÈ ou distribuÈ avec votre ordinateur, le fabricant de
votre ordinateur est responsable de votre assistance technique.
L'Assistance Standard du Support Ttechnique de Microsoft est offerte du lundi au vendredi,
entre 8h et 20h HNE, ‡ l'exception des jours fÈriÈs.
Pour recevoir une assistance gratuite au Canada, Vous pouvez composezr le (905) 568-35032294
pour les applications bureautiques, (905) 568-3503 pour les produits Microsoft Home et
les produits de dÈveloppement Microsoft ou le (905) 568-4494 pour les SystËmes
d'Exploitation Personnels personnels et Hardwarele matÈriel.
Support ‡ l'Incident
En France, le Support ‡ l'Incident Microsoft vous garantit une assistance tÈlÈphonique pour
chacune de vos demandes ponctuelles de support sur l'ensemble de nos produits, y compris
sur nos systËmes avancÈs. Cette assistance fait l'objet d'une facturation spÈcifique.
Pour en bÈnÈficier, veuillez composer le 01 69 86 10 20.
Au Canada**, avec líAssistance Prioritaire du Support Technique Microsoft technique
facturÈe par incident est disponible si vous voulez bÈnÈficier d'un accËs prioritaire au
support techniqueSupport Technique, aprËs avoir bÈnÈficiÈ de vos deux incidents d'assistance
gratuite ou aprËs expiration de votre pÈriode d'assistance gratuite., vous pouvez choisir
l'assistance facturable par incident que vous achetez selon vos besoins, ou les comptes
annuels qui vous offrent des prix avantageux pour les achats en quantitÈ.
L'Assistance Prioritaire technique facturÈe par incident est disponible du lundi au vendredi,
‡ l'exception des jours fÈriÈs, de 8h ‡ 20h HNE. Composez le 1 -800 -668-7975. Pour toute
information complÈmentaire sur l'Assistance Prioritaire pour les produits bureautiques,
veuillez appeler le 1 800 668-7975. Pour toute information complÈmentaire sur l'Assistance
Prioritaire pour les produits de dÈveloppement d'applications Office et de dÈveloppement
Microsoft, veuillez appeler le 1 800 936-3500. Le paiement de l'assistance technique est
effectuÈ par carte de crÈdit Visa, MasterCard ou American Express. L'incident est facturÈ
‡ 75,00 $ CAN plus les taxes applicables pour les produits de DdÈveloppement ou ‡
45,00 $ CAN pour tous les autres produits.
Microsoft Priority
Le Support Microsoft Priority, disponible sous forme de contrat annuel, vous permet de
bÈnÈficier d'un accËs prioritaire et privilÈgiÈ ‡ notre support techniqueSupport Technique.
Accessible par tÈlÈphone et via Internet, il se dÈcline en quatre offres, en fonction du
niveau d'assistance souhaitÈ et du type de produits utilisÈs. Pour plus díinformations,
contactez-nous.
En France, pour toute information complÈmentaire sur l'offre de Support Technique Microsoft,
veuillez contacter, par tÈlÈphone, le 01 69 86 44 88 (le Support Technique n'est pas
accessible par ce numÈro) ou consulter notre site Internet
http://www.eu.microsoft.com/france/support/.
L'offre de Support Technique Microsoft est soumise aux tarifs et conditions en vigueur, et
susceptible díÍtre modifiÈe sans prÈavis.
Au Canada**, si vous prÈvoyez de nombreux appels pour l'assistance technique, ou si vous
avez besoin d'un accËs prioritaire au support techniqueSupport Technique de Microsoft, vous
pouvez souscrire ‡ un compte d'assistance prioritaire Avantage pour produits de bureau.
Pour toute information complÈmentaire sur l'assistance prioritaire Avantage, composez le
1 -800 -668-7975 de 8h ‡ 20h, heure de l'Est, du lundi au vendredi, ‡ l'exception des jours
fÈriÈs.
Services pour sourds et malentendant (disponible au Canada seulement)
Microsoft offre des services pour les sourds et malentendants disposant d'un ATS (appareil
de tÈlÈcommunication pour sourds). Composez le (905) 568-9641 ‡ l'aide d'un ATS.
**Les services d'assistance technique de Microsoft Canada sont assujettis aux tarifs,
termes et conditions actuels de Microsoft, qui peuvent Ítre modifiÈs sans prÈavis.
Appel ‡ une filiale Microsoft
Lorsque vous appelez, vous devez Ítre ‡ proximitÈ de votre ordinateur et avoir en main la
documentation appropriÈe du produit. Soyez prÍt ‡ fournir les informations suivantes :
∑ Le type de contrat de service dont vous disposez.
∑ Le numÈro de la version du produit Microsoft que vous utilisez.
∑ Le type de configuration que vous utilisez, y compris le type de rÈseau si vous
travaillez avec un rÈseau.
∑ Le systËme d'exploitation que vous utilisez.
∑ L'intitulÈ exact des messages Èventuels qui apparaissent ‡ l'Ècran.
∑ Une description de ce qui s'est passÈ et de ce que vous faisiez lorsque le problËme
Èventuel s'est posÈ.
∑ Une description des dÈmarches que vous avez suivies pour rÈsoudre le problËme.
Support produit
La liste des pays et des filiales Microsoft offrant un support aprËs-vente pour les
versions franÁaises est indiquÈe ci-dessous.
S'il n'existe pas de filiale dans votre pays, veuillez contacter le vendeur auprËs duquel
vous avez effectuÈ l'achat de votre produit Microsoft.
Pays NumÈros de tÈlÈphone
Belgique Microsoft NV
TÈlÈphone : (32) 2-730-3911
Fax : (32) 2-735-1609
CompuServe : 02-2150530 (GO MSBEN)
BBS : 02-7350045 (1200/2400/9600 bauds, 8 bits, pas de paritÈ,
1 bit de stop, Èmulation terminal ANSI)
Support technique (francophone) : (32) 2-513-2268
Canada Microsoft Canada Co.
TÈlÈphone : (1) (905) 568-0434
Centre d'information : 1-800-563-9048
TÈl. Support technique : 1 (905) 568-3503
BBS du Support technique : 1 (905) 507-3022
TÈlÈphone texte (TT/TDD) : 1 (905) 568-9641
France Microsoft FranceTÈlÈphone : (33) 01 69 86 46 46
pas de paritÈ, 1 bit de stop, Èmulation terminal ANSI)
Support technique (francophone) : (32) 2-513-2268
PolynÈsie franÁaise Voir France
Suisse Microsoft SA
TÈlÈphone : (41) (1) 839 61 11
Fax : (41) (1) 831 08 69
Informations : TÈl. : 155 59 00
Fax : 064 - 224294
Microsoft Info-Service, Postfach, 8099 Z¸rich
Prix, mises ‡ jour, etc. : 01/839 61 11
CompuServe : 01/273 10 28 (GO MSEURO Microsoft Europe centrale)
Support technique (francophone) : (41) (22) 738 96 88
Assistance gratuite
Les Newsgroups constituent un excellent endroit pour obtenir l'assistance gratuite de confrËres. Temps et ressources permettant, les dÈveloppeurs, les chefs de projets, les ingÈnieurs supports et les ingÈnieurs de tests visitent rÈguliËrement le site pour rassembler les informations, rÈpondre aux questions et clarifier certaines situations. Aucune garantie n'est faite de recevoir une rÈponse ‡ un message de la part de Microsoft.
Les newsgroups suivants peuvent Ítre utilisÈs pour poser des questions concernant DCOM95 :
* comp.os.ms-windows.programmer.ole
* microsoft.public.win32.programmer.ole
Le fichier d'adresses DCOM constitue un autre moyen d'assistance gratuite.
Un avantage ‡ figurer dans un fichier d'adresses est le fait que ce fichier est l'endroit o˘ Microsoft annonce l'arrivÈe d'informations sur un sujet donnÈ. Une fois de plus, ceci constitue une assistance entre confrËres et le personnel Microsoft consulte souvent ce fichier, mais ne garantit pas de rÈponses aux messages.
Pour en savoir plus sur le fichiers d'adresses DCOM, consultez notre page Fichier d'adresses,